package com.xue.service.sys;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.xue.common.core.IBaseService;
import com.xue.pojo.sys.SysMenu;

//2018-12-28 15:14:49
public interface ISysMenuService extends IBaseService<SysMenu, String> {

	

	Set<String> queryMenuIdsByUserId(String userId, Integer sysVersion);

	List<SysMenu> buildMenuTree(Set<String> menuIds, String... resourceType);

	List<SysMenu> buildMenuTreeNoFilter(Set<String> menuIds, String... resourceType);

	/**
	 * 获取用户的所有收藏菜单
	 * 
	 * @Author VastSky(庞天)
	 * @Date 2019年1月16日
	 * @param params.userid 用户名
	 * @param params.resourceType 菜单类型
	 * @param params.sysVersion 系统版本
	 * @return
	 */
	public List<String> loadUserShouCangMenuIds(Map<String, Object> params);

	/**
	 * 删除用户收藏
	 * 
	 * @Author VastSky(庞天)
	 * @Date 2019年1月16日
	 * @param menuId
	 */
	void deleteUserShouCang(Map<String, Object> params);

	/**
	 * 校验当前菜单是否在收藏中
	 * 
	 * @Author VastSky(庞天)
	 * @Date 2019年1月16日
	 * @param params
	 * @return
	 */
	int checkUserMenuId(Map<String, Object> params);

	/**
	 * 用户添加收藏
	 * 
	 * @Author VastSky(庞天)
	 * @Date 2019年1月16日
	 * @param params
	 */
	void saveUserShouCang(Map<String, Object> params);

	/**
	 * 获取用户收藏的菜单Code，包括parentCode
	 * 
	 * @Author VastSky(庞天)
	 * @Date 2019年1月17日
	 * @param params
	 * @return
	 */
	List<String> loadUserShouCangMenuCodes(Map<String, Object> params);

	/**
	 * 查询微信端父菜单
	 * 
	 * @Author VastSky(庞天)
	 * @Date 2019年2月11日
	 * @param params.sysVersion 6
	 * @param params.resourceType 1
	 * @param params.codeArray
	 * @param params.parentcode 00MM
	 * @return
	 */
	List<SysMenu> queryParent(Map<String, Object> params);

	/**
	 * 查询微信端子菜单
	 * 
	 * @Author VastSky(庞天)
	 * @Date 2019年2月11日
	 * @param params.sysVersion 6
	 * @param params.resourceType 1
	 * @param params.codeArray
	 * @param params.nParentCode 00MM
	 * @return
	 */
	List<SysMenu> querySub(Map<String, Object> params);

	/**
	 * 
	 * Description:通用角色查询菜单的ids<br/>
	 * Date: 2019年7月22日 下午4:00:09 <br/>
	 * 
	 * @author sunchaoyuan
	 * @param sysVersion
	 * @return
	 */
	Set<String> queryMenuIdsByCommonRole(Integer sysVersion);

}
